#ifndef GLOBALPARAMETERS_H
#define GLOBALPARAMETERS_H

class GlobalParameters{
public:
	GlobalParameters(int, int, double, double, double, double, int, int, double);
	int getCwMin();
	int getCwMax();
	double getDIFS();
	double getCsThreshold();
	double getReceptionThreshold();
	int getSimulationTime();
	int getSlotsPerPacket();
	void print();
	int getSlotTime();
	void setSlotTime(int);
private:
	int cwMin;//size of maximum contention window in terms of time slots
	int cwMax;//size of minimum contention window in terms of time slots
	double slotTime;//size of each time slot in micro seconds
	double difs;//size of DCF Interframe Space in micro seconds
	double csThreshold;//alpha parameter in Watts- carrier sensing threshold below which the carrier will be sensed free
	double receptionThreshold;//beta parameter in Watts- the threshold below which the received signal cannot be decoded
	int simulationTime;//total simulation time in terms of number of time slots
	int packetSize;//packet size in bytes
	double bitRate;//bit-rate accross network in terms of Mbps
	double slotsPerPacket;//packet size in terms of number of time slots it takes to be transmitted given the bit rate
};

#endif
